package cn.iune.erp.invoice;

import java.math.BigDecimal;
import java.sql.Date;
import java.sql.SQLException;
import java.util.List;

import com.alibaba.fastjson.JSONObject;

public interface IAccountInvoiceDao {

	public void insert(AccountInvoice a);
	
	public AccountInvoice update(AccountInvoice a);

	public void delete(String fID);

	public AccountInvoice getByID(String fID);
	
	public List<AccountInvoice> getAll();
	
	AccountInvoice getByNo(String accountInvoiceNo, String enterpriseNo);

	JSONObject query(JSONObject data) throws SQLException;

	JSONObject querySimple(JSONObject data) throws SQLException;

	AccountInvoice getByNextNo(String next, String nextNo, String enterpriseNo);

	BigDecimal getPayableAmountTotay(List<Object> params);

	BigDecimal getReceiveAmountTotay(List<Object> params);

	AccountInvoice getQTYSByOriginNo(String origin, String originNo, String enterpriseNo);

	JSONObject create(JSONObject data);

	List<AccountInvoice> getUnclearYSZKList(String guestNumber, String enterpriseNo);

	JSONObject joint(JSONObject data) throws SQLException;

	List<AccountInvoice> getAccountList(String revOpay, Date dateStart, Date dateEnd, String enterpriseNo);

	List<AccountInvoice> getAccountList(String revOpay, String customerID, Date dateStart, Date dateEnd,
			String enterpriseNo);



}
